home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Scene Storm
/
Scene Storm - Volume 1.iso
/
coding
/
c
/
changedir
/
ccd.doc
< prev
next >
Wrap
Text File
|
1995-11-05
|
10KB
|
296 lines
CCD - Cedric's CD utility
$Revision: 1.2 $
ccd v3.2
Cedric BEUST
"Les Ducs de Savoie"
1, rue Roger Martin du Gard
06000 NICE
FRANCE
email: beust@sophia.inria.fr
WHAT IS CCD?
------------
ccd is an attempt to have the equivalent to M*-DOS ncd (Norton's cd).
This smart utility is most precious for hard disk users: it allows to cd
to a directory without having to specify the whole path.
For example, if you have a directory dh0:dp/matt/netdcc, just issue the
command
(0).3:51PM> ccd netdcc
and there you are!
In this documentation, lines preceded by a version number (e.g. (v3.1))
indicate the version where this feature appeared.
LEGAL STUFF
-----------
Why bother? Nobody ever reads it, anyway...
Okay, this program is *not* in public domain. It is freeware, and I hold
the copyright on the source, documentation and executable (uh... not so
sure this can be done).
Clearly, that means that you are free (and welcomed) to give the whole
distribution to anyone you want, provided
* You don't earn any money doing so
* You don't modify any of the files in the distribution without a prior
consent from me
If you like this program, feel free to send me a few bucks ($5 will make
me happy, but I also accept golden bars, diamonds, good jokes, cans of
beers, attractive young girls, etc...). This will convince me to put you
on the list of registered users...
And now, on to more interesting things.
TO MAKE IT WORK...
------------------
ccd needs Amigados 2.1 or higher (or Amigados 2.0 + amigaguide.library 34+).
It is very easy to install.
1) put the ccd command in your C: (or BIN:, or whatever you prefer) directory
and the c.rexx file in your REXX: directory (if you have WShell)
2) assign CCD: to the directory you would like the config file to go (see
below for further explanations about this file); I suggest you choose s:
3) run 'ccd CREATE dh0: dh1: dh2:' for example, if you often cd into these
directories (or subdirectories of theirs). This will create the
configuration file
4) et voila!
SYNTAX
------
This is the usual AmigaDOS notation:
/S means the option is a switch (default is : the option is not
set).
/K means the keyword must figure on the command line followed by its
value (e.g. 'ccd CF=s:.ccdconfig' or 'ccd CF s:.ccdconfig')
/M means the rest of the line
An '=' sign points out a possible abbreviation for the option.
By default, ccd will try to change directly to the directory given. It fully
emulates the original cd behavior from this point of view (well... not quite,
see BUGS).
CONFIGFILE/K (synonym : -cf) (default s:.ccdconfig) (v3.1)
Specify the CONFIGFILE. This is the file ccd will write that will
contain all the directories below the ones you specify at creation.
ANTICONFIGFILE/K (synonym : -acf) (default s:.ccdanticonfig) (v3.1)
Specify the anti configuration file. This file must be created by you
and will contain a list of directories which mustn't be searched
(if you specify DH0:Fonts, this directory and all the ones below
will not be examined for a possible cd).
NOTE : the directories won't be *searched* but they will be included
in CONFIGFILE anyway. An example ANTICONFIGFILE is included under the
name AntiConfigFileSample
CREATE/S (synonym : -c)
Create a new CONFIGFILE file with the specified dirs
Examples:
ccd CREATE DH0: DH1:
ccd -c env:
UPDATE/S (synonym : -u)
Append the specified dirs to CONFIGFILE
Examples:
ccd UPDATE T:
ccd -u t:
NOEXPAND/S (synonym : -n)
Don't expand the directories to full paths (i.e. T: will appear as is
in CONFIGFILE, it would have been replace with RAM:T otherwise)
SHOWAMBIGUITIES/S <n> (synonym -s)
Display all the ambiguities for a given partial dir.
If you specify a number, ccd will change to the nth occurence
of this partial directory.
Examples :
(0).3:51PM> ccd -s lib
dh0:lattice/lib
dh1:DP/netdcc/include/lib
dh1:DP/gcc/lib
dh1:uucp1/lib
If I want to cd to dh1:DP/gcc/lib, I just have to type
(0).4:01PM> ccd -s lib 3
Current directory now dh1:DP/gcc/lib
NOTE: depending whether the <n> argument is present, this option will behave
differently. If it is not present, it will display the ambiguities
without changing the directory. If it is present (and valid), ccd *will*
change to the directory.
GUI/S (synonym : -g)
Display a graphical tree (using the Amigaguide library) where you can
click a directory to change to it.
VERBOSE/S (synonym : -v) (v3.1)
ccd will display the new directory
Examples :
(0).4:01PM> ccd verbose showambiguities lib 3
Current directory now dh1:DP/gcc/lib
(v3.1) Some options can be mixed :
(0).3:51PM> ccd gui showambiguities font
will display all the ambiguities for 'font' in the graphical display. In
that case, the full paths will be displayed (this is necessary since
they may be scattered among different volumes and showing them indented
won't help you guess what volume a directory is on...).
REMARKS ABOUT THE SHOWAMBIGUITIES OPTION
----------------------------------------
I confess this option may be a bit cumbersome to use, but
nevertheless, it might be shorter than typing the whole path anyway.
The second way can also be used to make this task lighter: in case of
ambiguities, you will probably notice that you cd to one directory
more often than the others. So, since ccd changes to the first one it
finds in the config file, you could use this feature and edit the
CONFIGFILE to put this directory before the other ones.
One other problem you might face is that ccd can't find a directory
whereas you know it exists. The solution is, of course, that this
directory was created after you built the configuration file (the same
goes for deletion of directories as well). When this happens, all you
have to do is re-run 'ccd UPDATE <dirs>' in order to update this file. If
your hard disk is very slow and you know it's gonna take some time,
you can add the new directory manually in the file as well (on my
Quantum HD, updating the file for about 30M of directories takes less
than 30 secs...).
CCD AND WSHELL
--------------
Due to the internal nature of the way WShell updates its prompt, it is not
possible for ccd to change this prompt (this has been confirmed by
Mr. Hawes himself). Therefore, I supply a "wrapper" to the ccd command that
will take care of this.
If you are using WShell, don't use "ccd", use "c". This is the same command
except that it will update WShell's prompt properly. "c" is a very short Arexx
script that you should put in your REXX: directory.
SOMETHING DOESN'T WORK?
-----------------------
If ccd seems not to work properly, this may be because of the indermediate
files it is using. In that case, type
delete t:#?ccd#?
and try again.
FILES USED BY CCD
-----------------
ccd:.ccdconfig (CONFIGFILE) This file gathers all the directories
env:ccd/LAST_DIR Used by the GUI to store the directory selected
t:ccd.guide Amigaguide version of CONFIGFILE
t:ccdChangeDir.rexx ARexx script generated for the GUI
FILES FOR THE USER
------------------
ccd THE command :-)
c.rexx Wrapper for ccd and WShell
ccd:.ccdanticonfig List of directories never to cd to
BUGS
----
. ccd will not update the Titlebar with WShell. I still haven't found the
proper way to do this and since WShell's cd is builtin, I can't even
disassemble it...
THANKS
------
--> Walter Francis,
for suggesting the anti config-file and pointing out
some bugs
--> Jean-Charles Godien,
for coming up with bright ideas
--> Cedric NEROT,
aka Sr, aka Cedric the 2nd,
it was an idea of his, and since he's taller and
stronger than me, I have to give his name. In
retaliation, I hid a virus in his version (snigger,
snigger). And he will never read the doc, anyway.
--> Pierre ARDICHVILI,
for numerous advice, mainly regarding PAL/NTSC detection
and better '-u' handling.
--> David MOLINIER,
for beta-testing and pointing out a few bugs to me.
--> Matt DILLON,
for providing us with such a neat compiler! And for the
help along the way... And for uucp. And for dmouse. And
for the Cosby Show. And for the electric tooth brush.
And for the space shuttle. And for... ouch! [sacked by
audience]
--> abcd!Leon,
for pointing out to me the 'ccd /' bug that was fixed
on from the version 1.4 (sorry, Leon, my mails to you
bounced each time I tried, so I don't know more from
you...)
--- Cedric BEUST
--- Nice, $Date: 1993/07/04 13:40:46 $